<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>封装函数发送 AJAX 请求 ( 重要 )</title>
</head>
<body>
    <script>
        /**
         * 函数名:  sendAJAX
         * 作用:  发送 AJAX 请求
         * 参数:  method 请求类型,  url 发送的 URL
         * 示例:  sendAJAX('get', 'https://api.xiaohigh.com/duanzi')
         * 返回值: promise 对象
         *      成功的结果  『响应体』
         *      失败的结果  『响应状态码』
         * 
         */
        function sendAJAX(method, url){
            return new Promise((resolve, reject) => {
                //AJAX 请求
                let xhr = new XMLHttpRequest();
                xhr.responseType = 'json';
                //初始化
                xhr.open(method, url);
                //发送
                xhr.send();
                //绑定事件
                xhr.onload = function(){
                    if(xhr.status >= 200 && xhr.status < 300){
                        resolve(xhr.response);
                    }else{
                        reject(xhr.status);
                    }
                }
            });
        }

        sendAJAX('get', 'https://api.xiaohigh.com/duanz')
        .then(body => {
            console.log(body);
        }, status => {
            console.error(status);// 红色的输出
        });
    </script>
</body>
</html>